Skip to content

Golang使用Travis CI对项目进行持续集成 - 初体验

基础的用法可以看看阮一峰的这篇文章持续集成服务 Travis CI 教程,这篇文章上说了一些关于Travis CI的基本使用技巧。下面这篇博客,我说说我们这个项目对Travis CI的应用

项目地址

https://github.com/zhongwq/Agenda-Golang

具体流程

我们先来说说我们的使用流程吧 首先,按照教程所说的,我们先在Travis CI完成注册,与我们的Github账户进行绑定。 我们需要在Profile中激活我们的项目 tra1

激活完成之后。我们就可以开始我们单元测试以及.travis.yml的书写了

单元测试方面,我们在这里不作细讲,有需要的同学可以去这个网站[译]GO 中如何进行单元测试看看有关的教程,我觉得这个blog写的还是十分清晰明了的。

下面我们主要说说golang如何正确书写.travis.yml文件

language: go

go:
- 1.8
- tip

go_import_path:
#/

before_install:
- mv $HOME/gopath/src/github.com/zhongwq/Agenda-Golang $HOME/gopath/src

script:
- cd $HOME/gopath/src/Agenda-Golang
- go test -v ./...

我们这次项目的.travis.yml文件如上,下面我们说一下各个部分具体的意思

language指的是我们的运行环境,go里的内容指我们需要测试的go的环境,before_install指的是安装依赖前要执行的命令,因为我们的项目是需要放在$GOPATH/src中运行的,所以这里通过mv把其转移到里面,然后就是我们的script了,这里我们打开对应的文件夹,运行我们完成的单元测试文件,执行命令go test -v ./...即可

完成之后,我们一旦提交,我们就可以前往Travis的网页查看我们项目的情况了。若是成功,我们点进我们的项目,我们就可以看到如下的信息 tra2

点击上面绿色的pass按钮,选择markdown,把下面的链接复制,粘贴到我们的README.md中 tra3

粘贴完成后,我们就可以看到README中出现了很多大的开源项目都有的标志 tra4

看起来还是有点爽的。

体会

通过在一个项目中使用Travis,一旦任何人对代码库的任何改动,都会触发我们CI服务器自动对项目进行构建,自动运行测试,甚至自动部署到测试环境。这样做的好处就是,随时发现问题,随时修复。因为修复问题的成本随着时间的推移而增长,越早发现,修复成本越低。这样就减少了很多部署、测试的成本,也一定程度上提高了我们的工作效率。